﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using TTQT;
using TTQT.TTQT_Code;

public partial class GioHang_Xem : MasterControl// System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {

        SanPhamDAO sp = new SanPhamDAO();
        if (!Page.IsPostBack)
        {
            bindGridGioHang();
            txtThoiGianVanChuyen.Text = DateTime.Now.AddDays(1).ToString("dd/MM/yyyy");
        }

    }
    private void bindGridGioHang()
    {

        lblTongTien.Text = gioHang.tongTien();

        rptGioHang.DataSource = gioHang.sanPhamList;
        rptGioHang.DataBind();
    }
    public string formatPicUrl(string picUrl)
    {
        return "../" + picUrl;
    }

    protected void btnDatHang_Click(object sender, EventArgs e)
    {

    }
    protected void dgGioHang_ItemCommand(object source, DataGridCommandEventArgs e)
    {
        SanPhamInfo sp = new SanPhamInfo();
        sp.Id = e.CommandArgument.ToString();
        gioHang.xoaBo(sp);
        bindGridGioHang();
    }
    protected void rptGioHang_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        TextBox tb = (TextBox)e.Item.FindControl("txtSoLuong");
        if (tb != null)
        {

        }
    }
    protected void cmdXoaGioHang_Click(object sender, EventArgs e)
    {
        gioHang.xoaHet();
        bindGridGioHang();
    }
    protected void cmCapNhatGioHang_Click(object sender, EventArgs e)
    {
        if (rptGioHang.Items.Count < 1)
        {
            return;
        }
        int row = 1;
        foreach (RepeaterItem item in rptGioHang.Items)
        {
            SanPhamInfo info = new SanPhamInfo();
            Label lbl = (Label)item.FindControl("lblId");
            TextBox txt = (TextBox) item.FindControl("txtSoLuong");
            if(lbl!=null)
            {
                info.Id = lbl.Text;
            }
            if(txt!=null)
            {
                int soLuong=0;
                soLuong = TTQTCommon.ToInt32(txt.Text, -1);
                if(soLuong==-1)
                {
                    MyWebUtils.MyWebUtil.alert(Page,"Hãy nhập lại số lượng đặt mua ở dòng thứ "+row);
                    return;
                }
                if(soLuong==0)
                {
                    gioHang.xoaBo(info);
                }
                if(soLuong>0)
                {
                    info.SoLuongDatMua = soLuong;
                    gioHang.updateSoLuong(info);
                }
            }
            row++;
        }
        bindGridGioHang();
    }
    protected void cmdGuiDonHang_Click(object sender, EventArgs e)
    {
        lblErr.Text = "";
        //Kiem loi
        if (string.IsNullOrEmpty(txtHoTen.Text))
        {
            lblErr.Text = "Bạn vui lòng nhập họ tên!";
            MyWebUtils.MyWebUtil.goToElement(this.Page,txtHoTen.ClientID);
            return;
        }
        if (string.IsNullOrEmpty(txtDiaChi.Text))
        {
            lblErr.Text = "Bạn vui lòng nhập địa chỉ!";
            MyWebUtils.MyWebUtil.goToElement(this.Page, txtDiaChi.ClientID);
            return;
        }
        if (string.IsNullOrEmpty(txtDiDong.Text))
        {
            lblErr.Text = "Bạn vui lòng nhập số điện thoại di động!";
            MyWebUtils.MyWebUtil.goToElement(this.Page, txtDiDong.ClientID);
            return;
        }
        try
        {
            DateTime d = DateTime.Parse(txtThoiGianVanChuyen.Text);
        }catch
        {
            lblErr.Text = "Bạn vui lòng nhập ngày đúng định dạng!";
            MyWebUtils.MyWebUtil.goToElement(this.Page, txtThoiGianVanChuyen.ClientID);
            return;
        }
        // xong kiem loi
        string kq = "1";
        //Kiem tra xem neu gio hang rong thi tra ve 3
        if (gioHang.sanPhamList.Count < 1)
        {
            lblErr.Text = "Giỏ hàng hiện tại đang trống!";
            MyWebUtils.MyWebUtil.goToElement(this.Page, lblErr.ClientID);
            return;
        }
        SanPham_DatHangDAO inf = new SanPham_DatHangDAO();

        inf.HoTen = txtHoTen.Text;

        inf.GioiTinh = cboGioiTinh.SelectedValue;
        inf.DiaChi = txtDiaChi.Text;

        inf.Email = txtEmail.Text;

        inf.DienThoai = txtDienThoai.Text;

        inf.DiDong = txtDiDong.Text;
        
        inf.GhiChu1 = txtGhiChu.Text;


        inf.HinhThucVanChuyen = cboHinhThucVanChuyen.SelectedValue;
        inf.ThoiGianVanChuyen =TTQTCommon.convertDateString(txtThoiGianVanChuyen.Text);
        inf.HinhThucThanhToan = cboHinhThucThanhToan.SelectedValue;

        inf.TongTien = gioHang.tongTien().Replace(",", "");
        inf.IP = Request.UserHostAddress;
        inf.Id = inf.insert().ToString();
        if (inf.getId() > 0)
        {
            //Them cac thong tin san pham trong gio hang
            inf.insertDetail(inf.Id, gioHang.sanPhamList);
            kq = "1";
            Session.Remove("GioHang");
            //Xây dựng nội dung email
            //StringBuilder sb = new StringBuilder();


            //Gui email thông báo có don dat hang
            SMTP smtp = new SMTP();
            smtp.SendEmailUsingGmail("kiennnit@gmail.com", "Caomeo.com - Đơn đặt hàng " + txtHoTen.Text,
                                     "Hãy vào xem đơn đặt hàng");
            Response.Redirect("FinishOrder.aspx");
        }
        else
        {
            kq = "2";
        }
    }
    protected void rptGioHang_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if(e.CommandName.Equals("cmdXoa"))
        {
          
            SanPhamInfo info=new SanPhamInfo();
            info.Id = e.CommandArgument.ToString();
            gioHang.xoaBo(info);
            bindGridGioHang();
        }
    }
}
